﻿/**********************************************************************
 * @file   FITKAcousticsVTKGraphObjectFEAcoustic.h
 * @brief  FE声腔渲染对象
 * @author BaGuijun (baguijun@163.com)
 * @date   2025-01-02
 *********************************************************************/
#ifndef FITKAcousticsVTKGraphObjectFEAcoustic_H_
#define FITKAcousticsVTKGraphObjectFEAcoustic_H_

#include "FITKAcousticsVTKGraphAdaptorAPI.h"
#include "FITKAcousticsVTKGraphObjectFESubSystems.h"

namespace Acoustics {
    class FITKAcousticsFEModel;
    class FITKAcousticsFESubSysManager;
}

namespace Exchange
{
    /**
     * @brief  FE声腔渲染对象
     * @author BaGuijun (baguijun@163.com)
     * @date   2025-01-02
     */
    class FITKACOUSTICSGRAPHADAPTORAPI FITKAcousticsVTKGraphObjectFEAcoustic :public FITKAcousticsVTKGraphObjectFESubSystems
    {
        FITKGraphObjectRegist(FITKAcousticsVTKGraphObjectFEAcoustic, FITKAcousticsVTKGraphObjectFESubSystems);
        FITKCLASS(Exchange, FITKAcousticsVTKGraphObjectFEAcoustic);
    public:
        /**
         * @brief    构造函数
         * @param[i] model              FE模型
         * @author   BaGuijun (baguijun@163.com)
         * @date     2025-01-02
         */
        FITKAcousticsVTKGraphObjectFEAcoustic(Acoustics::FITKAcousticsFEModel* model);
        /**
         * @brief    析构函数
         * @author   BaGuijun (baguijun@163.com)
         * @date     2025-01-02
         */
        virtual ~FITKAcousticsVTKGraphObjectFEAcoustic();
        /**
         * @brief    获取数据对象可见性
         * @return   bool              是否可见
         * @author   BaGuijun (baguijun@163.com)
         * @date     2024-12-30
         */
        bool getDataVisibility() override;
    protected:
        /**
         * @brief    初始化 [重载]
         * @author   BaGuijun (baguijun@163.com)
         * @date     2024-12-31
         */
        void init() override;
        /**
         * @brief    数据连接初始化
         * @return   bool              是否成功
         * @author   BaGuijun (baguijun@163.com)
         * @date     2024-12-30
         */
        bool generateDataSet() override;
        /**
         * @brief    演员初始化
         * @author   BaGuijun (baguijun@163.com)
         * @date     2024-12-31
         */
        void generateGraph() override;
    };
}

#endif
